function makeCounter() {
    let count = 0
    return function() {
        return count++
    }
}
let counter = makeCounter()
let counter2 = makeCounter()
alert(counter()) // 0
alert(counter()) // 1
alert(counter2()) // ？ 0
alert(counter2()) // ？ 1

// 函数counter 和counter2是通过makeCounter的不同调用创建的，因此它们具有独立的外部词法环境，每一个都有自己的count.